﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using CuaHangMayTinh.Utilities;
using DevComponents.DotNetBar.Controls;

namespace CuaHangMayTinh.PresentationLayer
{
    /// <summary>
    /// form hiển thị chi tiết tìm kiếm khách hàng
    /// </summary>
    public partial class FormKhachHangTimKiem : Form
    {
        /// <summary>
        /// tables chua thông tin cần tìm kiếm
        /// </summary>
        public DataTable Table { get; set; }

        /// <summary>
        /// kiểu tìm kiếm của khach hàng
        /// </summary>
        enum KieuTimKiem
        {
            Tên,
            Địa_chỉ,
            Số_điện_thoại,
            Mã_hóa_đơn
        }

        /// <summary>
        /// khởi tạo form tìm kiếm khách hàng
        /// </summary>
        /// <param name="dt"></param>
        public FormKhachHangTimKiem(DataTable dt)
        {
            InitializeComponent();
            Table = dt;
            dataGridViewX_Select.DataSource = Table;
        }

        /// <summary>
        /// bắt sự kiện load form
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FormKhachHangTimKiem_Load(object sender, EventArgs e)
        {
            toolStripcbb_kieutim.ComboBox.DataSource = Enum.GetValues(typeof(KieuTimKiem));
        }

        /// <summary>
        /// bắt sự kiện khi thay đổi text của texbox 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void toolStripTextBox_serchkey_TextChanged(object sender, EventArgs e)
        {
            string text = (sender as ToolStripTextBox).Text;
            int kieu = (int)Enum.Parse(typeof(KieuTimKiem), toolStripcbb_kieutim.SelectedItem.ToString());
            DataTable dt = new DataTable();
            switch (kieu)
            {
                case 0:
                    dt = DataUtil.TimkiemTheo(Table,"Tên khách hàng", text);
                    break;
                case 1:
                    dt = DataUtil.TimkiemTheo(Table, "Địa chỉ", text);
                    break;
                case 2:
                    dt = DataUtil.TimkiemTheo(Table, "Số điện thoại", text);
                    break;
                case 3:
                    //tim kiem theo nghiep vu
                    break;
                default:
                    break;
            }
            dataGridViewX_Select.DataSource = dt;
        }

        /// <summary>
        /// bắt sự kiện khi thay đổi datasouce của datagird
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dataGridViewX_Select_DataSourceChanged(object sender, EventArgs e)
        {
            DataGridViewX dt = (sender as DataGridViewX);
            if (dt.Columns.Count > 0)
            {
                dt.Columns[0].Visible = false;
            }
        }
    }
}
